package com.itbour.dao.material;

import java.util.List;
import java.util.Map;

import com.itbour.dto.template.DocTypeDto;
import com.itbour.dto.template.TemplateInfoDto;
import com.itbour.dto.template.TmplPageInfoDto;
import com.itbour.dto.template.TmplUserDocDto;
import com.itbour.dto.tg.KeywordInfoDto;
import com.itbour.dto.trade.TmplPriceInfoDto;


/**
 * 母版／模版dao
 * copyright   itbour team 2016
 * @author     xc
 */

public interface TmplDao {

	// 取template
	public int selectTmplCnt(Map<String,Object> param);
	public List<TemplateInfoDto> selectTmplInfo(Map<String,Object> param);
	// 取最新template
	public TemplateInfoDto selectLatestTmplInfo();
	// 取母版列表
	public List<TemplateInfoDto> selectMstTmplLst(Map<String,Object> param);
	// 删除template
	public void deleteTmplLogic(Map<String,Object> param);
	public long deleteTmpl(Map<String,Object> param);
	// 删除pages
	public void deleteTmplPageLogic(Map<String,Object> param);
	// 新规template
	public void insertTmplInfo(Map<String,Object> param);
	// 新规page
	public void insertTmplPageInfo(Map<String,Object> param);
	// 取pages
	public List<TmplPageInfoDto> selectTmplPageInfo(Map<String,Object> param);
	// 根据pageId取页数据
	public TmplPageInfoDto chkTmplPageInfo(Map<String,Object> param);
	// 更新template
	public void updateTmplInfoById(Map<String,Object> param);
	// 更新templatePage
	public void updateTmplPageInfoById(Map<String,Object> param);
	// 检索template的type分类信息
	public List<String> selectTmplTypeIds(Map<String,Object> param);
	// 删除template的type分类信息
	public void deleteTmplTypeById(Map<String,Object> param);
	// 添加template的type分类信息
	public void insertTmplTypeInfo(Map<String,Object> param);
	// 根据typeId找tmplId
	public List<String> selectTmplIdsByTypeIds(Map<String,Object> param);
	// For combobox
	public List<DocTypeDto> selectTmplType(Map<String,Object> param);
	
	// 检索关键词
	public List<KeywordInfoDto> selectDocKeywordInfo(Map<String,Object> param);
	
	// 检索模版价格
	public int selectTmplPriceCnt(Map<String,Object> param);
	public List<TmplPriceInfoDto> selectTmplPriceInfo(Map<String,Object> param);
	// 模版价格增删改
	public void deleteTmplPriceLogic(Map<String,Object> param);
	public void updateTmplPriceById(Map<String,Object> param);
	public void insertTmplPrice(Map<String,Object> param);
	
	//
	public int getTmplDocCnt(Map<String, Object> parm);
	public List<TmplUserDocDto> getTmplrDocInfo(Map<String, Object> parm);
}
